tlumacz( array('WYSZUKIWANIE_ZAAWANSOWANE') ), $GLOBALS['tlumacz'] ); include('listing_gora.php'); $Meta = MetaTagi::ZwrocMetaTagi( basename(__FILE__) ); // meta tagi $tpl->dodaj('__META_TYTUL', $Meta['tytul']); $tpl->dodaj('__META_SLOWA_KLUCZOWE', $Meta['slowa']); $tpl->dodaj('__META_OPIS', $Meta['opis']); unset($Meta); $WarunkiSzukania = ''; $WarunkiDoWyswietlenia = ''; $DodatkowePolaId = ''; $dodatkowePolaWyrazenia = array(); // dodatkowe pola do produktow w wyszukiwaniu foreach ($_GET as $klucz => $wartosc) { if ( strpos($klucz, 'dodatkowe' ) !== false ) { $DodatkowePolaId .= substr($klucz, strrpos($klucz, '_')+1) . ','; $dodatkowePolaWyrazenia[substr($klucz, strrpos($klucz, '_')+1)] = $wartosc; } } if ( $DodatkowePolaId != '' ) { $DodatkowePolaId = substr($DodatkowePolaId, 0, -1); } // wyszukiwana fraza $srodek->dodaj('__SZUKANA_FRAZA',''); if (isset($_GET['szukaj']) && trim($_GET['szukaj']) != '') { if ( !isset($_GET['fraza']) ) { $_GET['fraza'] = 'nie'; } if ( !isset($_GET['opis']) ) { $_GET['opis'] = 'nie'; } if ( !isset($_GET['nrkat']) ) { $_GET['nrkat'] = 'nie'; } // ustawienie parametrow jezeli klikniety link w chmurze tagow if ( strpos($_SERVER['QUERY_STRING'], 'szukaj=') !== false ) { $_GET['fraza'] = 'tak'; $_GET['opis'] = 'tak'; $_GET['nrkat'] = 'tak'; } // $_GET['szukaj'] = strip_tags( rawurldecode($filtr->process($_GET['szukaj'])) ); // // zamienia zmienne na poprawne znaki $_GET['szukaj'] = str_replace(array('[back]', '[proc]'), array('/', '%'), $_GET['szukaj']); // dodaje fraze do szablonu $srodek->dodaj('__SZUKANA_FRAZA', $_GET['szukaj']); // zabezpieczenie przez hackiem $_GET['szukaj'] = str_replace(array('_', '%'), array('\\_','\\%'), $_GET['szukaj']); // usuwanie ' // sprawdza czy jest wylaczone magic_quotes_gpc if (!get_magic_quotes_gpc()) { $_GET['szukaj'] = str_replace("'", "\'", $_GET['szukaj']); } $PoprawnaDlugosc = false; $wyrazy = explode(' ', $_GET['szukaj']); if ( count($wyrazy) > 0 ) { for ($i = 0, $n = sizeof($wyrazy); $i < $n; $i++ ) { if ( strlen ($wyrazy[$i]) > 1 ) { $PoprawnaDlugosc = true; } } } if ( $_GET['fraza'] == 'nie' && $PoprawnaDlugosc == true ) { // wyszukiwanie wszystkich wyrazow w ciagu if ( count($wyrazy) > 0 ) { $WarunkiSzukania .= " AND ( ("; for ($i = 0, $n = sizeof($wyrazy); $i < $n; $i++ ) { if ( strlen ($wyrazy[$i]) > 1 ) { $WarunkiSzukania .= " (pd.products_name like '%" . $wyrazy[$i] . "%' OR pd.products_search_tag like '%" . $wyrazy[$i] . "%') AND"; } } $WarunkiSzukania = preg_replace('/\W\w+\s*(\W*)$/', '$1', $WarunkiSzukania); $WarunkiSzukania .= " ) "; $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_FRAZY'] . ' ' . $GLOBALS['tlumacz']['NIE'] . '

'; } } else { // wyszukiwanie wpianej frazy $WarunkiSzukania .= " AND ((pd.products_name like '%" . $_GET['szukaj'] . "%' OR pd.products_search_tag like '%" . $_GET['szukaj'] . "%')"; $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_FRAZY'] . ' ' . $GLOBALS['tlumacz']['TAK'] . '

'; } // // jezeli jest dodatkowo szukanie po opisach if (isset($_GET['opis']) && $_GET['opis'] == 'tak') { if ( $_GET['fraza'] == 'nie' && $PoprawnaDlugosc == true ) { //Wyszukiwanie wszystkich wyrazow w ciagu if ( count($wyrazy) > 0 ) { $WarunkiSzukania .= " OR ( "; for ($i = 0, $n = sizeof($wyrazy); $i < $n; $i++ ) { if ( strlen ($wyrazy[$i]) > 1 ) { $WarunkiSzukania .= " pd.products_description like '%" . $wyrazy[$i] . "%' AND"; } } $WarunkiSzukania = preg_replace('/\W\w+\s*(\W*)$/', '$1', $WarunkiSzukania); $WarunkiSzukania .= " ) "; } } else { //Wyszukiwanie wpianej frazy $WarunkiSzukania .= " OR pd.products_description like '%" . $_GET['szukaj'] . "%'"; } $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_W_OPISACH'] . ' ' . $GLOBALS['tlumacz']['TAK'] . '

'; } unset($wyrazy); // jezeli jest dodatkowo szukanie po numerach katalogowych if (isset($_GET['nrkat']) && $_GET['nrkat'] == 'tak') { $WarunkiSzukania .= " OR p.products_model like '%" . $_GET['szukaj'] . "%'"; // nr katalogowe cech $WarunkiSzukania .= " OR ps.products_stock_model like '%" . $_GET['szukaj'] . "%' "; // $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_NR_KATALOGOWY'] . ' ' . $GLOBALS['tlumacz']['TAK'] . '

'; } // jezeli jest dodatkowo szukanie po kodzie producenta if (isset($_GET['kodprod']) && $_GET['kodprod'] == 'tak') { $WarunkiSzukania .= " OR p.products_man_code like '%" . $_GET['szukaj'] . "%'"; // $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_KOD_PRODUCENTA'] . ' ' . $GLOBALS['tlumacz']['TAK'] . '

'; } // jezeli jest dodatkowo szukanie po kodzie ean if (isset($_GET['ean']) && $_GET['ean'] == 'tak') { $WarunkiSzukania .= " OR p.products_ean like '%" . $_GET['szukaj'] . "%'"; // $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_W_EAN'] . ' ' . $GLOBALS['tlumacz']['TAK'] . '

'; } // // jezeli jest dodatkowo szukanie po dodatkowych polach if ( count($dodatkowePolaWyrazenia) > 0 ) { $wyrazy = explode(' ', $_GET['szukaj']); if ( count($wyrazy) > 0 ) { $WarunkiSzukania .= " OR ( "; for ($i = 0, $n = sizeof($wyrazy); $i < $n; $i++ ) { if ( strlen ($wyrazy[$i]) > 1 ) { $WarunkiSzukania .= " p2pef.products_extra_fields_value like '%" . $wyrazy[$i] . "%' AND"; } } $WarunkiSzukania = preg_replace('/\W\w+\s*(\W*)$/', '$1', $WarunkiSzukania); } $WarunkiSzukania .= " ) "; unset($wyrazy); $DodatkowePola = array(); $zapytanie_pef = "SELECT products_extra_fields_id, products_extra_fields_name FROM products_extra_fields WHERE products_extra_fields_status ='1' AND products_extra_fields_id IN (".$DodatkowePolaId.") ORDER BY products_extra_fields_order"; $sqlpef = $GLOBALS['db']->open_query($zapytanie_pef); while ($infopef = $sqlpef->fetch_assoc()) { $WarunkiDoWyswietlenia .= '

'.$infopef['products_extra_fields_name'].': ' . $GLOBALS['tlumacz']['TAK'] . '

'; } } $WarunkiSzukania .= ")"; // } else { $WarunkiSzukania = " AND p.products_id = '0'"; } // // tylko promocje if (isset($_GET['promocje']) && $_GET['promocje'] == 'tak') { $WarunkiSzukania .= " AND p.specials_status = '1' AND (p.specials_date = '0000-00-00 00:00:00' OR now() > p.specials_date) AND (p.specials_date_end = '0000-00-00 00:00:00' OR now() < p.specials_date_end)"; $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_PROMOCJE'] . ' ' . $GLOBALS['tlumacz']['TAK'] . '

'; } // tylko nowosci if (isset($_GET['nowosci']) && $_GET['nowosci'] == 'tak') { $WarunkiSzukania .= " AND p.new_status = '1'"; $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_NOWOSCI'] . ' ' . $GLOBALS['tlumacz']['TAK'] . '

'; } // zakres cenowy // if ( !isset($_SESSION['customer_id']) || $_SESSION['poziom_cen'] == 1 ) { if ( NARZUT_NIEZALOGOWANI != '' && floatval(NARZUT_NIEZALOGOWANI) != 0 ) { // if ( NARZUT_NIEZALOGOWANI_PROMOCJE == 'nie' ) { $DodWarunekCen = '( IF( p.specials_status = 1, (p.products_price_tax/cu.value)+(cu.value*cu.currencies_marza/100), (p.products_price_tax/cu.value)+(cu.value*cu.currencies_marza/100)) * ' . ((100 + NARZUT_NIEZALOGOWANI) / 100) . ')'; } else { $DodWarunekCen = '(((p.products_price_tax/cu.value)+(cu.value*cu.currencies_marza/100)) * ' . ((100 + NARZUT_NIEZALOGOWANI) / 100) . ')'; } } else { $DodWarunekCen = '(p.products_price_tax/cu.value)+(cu.value*cu.currencies_marza/100)'; } } else { $DodWarunekCen = '( (case when (p.products_price_tax_' . $_SESSION['poziom_cen'] . ' > 0) then (p.products_price_tax_' . $_SESSION['poziom_cen'] . '/cu.value)+(cu.value*cu.currencies_marza/100) else (p.products_price_tax/cu.value)+(cu.value*cu.currencies_marza/100) end) )'; } // $Przelicznik = $_SESSION['domyslnaWaluta']['przelicznik'] * ( 1 + ( $_SESSION['domyslnaWaluta']['marza']/100 ) ); $CenaOd = '0'; if (isset($_GET['ceno']) && (float)$_GET['ceno'] > 0) { $WarunkiSzukania .= " AND " . $DodWarunekCen . " >= " . (float)$_GET['ceno']/$Przelicznik; $CenaOd = (float)$_GET['ceno']; } $CenaDo = ''; if (isset($_GET['cend']) && (float)$_GET['cend']) { $WarunkiSzukania .= " AND " . $DodWarunekCen . " <= " . (float)$_GET['cend']/$Przelicznik; $CenaDo = ' ' . $GLOBALS['tlumacz']['LISTING_ZAKRES_CEN_DO'] . ' ' . (float)$_GET['cend'] . ' ' . $_SESSION['domyslnaWaluta']['symbol']; } unset($DodWarunekCen, $Przelicznik); // if (isset($_GET['ceno']) || isset($_GET['cend'])) { $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_ZAKRES_CEN'] . ' ' . $CenaOd . ' ' . $_SESSION['domyslnaWaluta']['symbol'] . $CenaDo . '

'; } unset($CenaOd, $CenaDo); // producent if (isset($_GET['producent'])) { // $TablicaGet = Filtry::WyczyscFiltr($_GET['producent']); // if ( count($TablicaGet) > 0 ) { // $IdProducentow = array(); $NazwyProducentow = array(); // foreach ( $TablicaGet as $GetProducent ) { // if ( $GetProducent > 0 ) { // $TablicaProducenta = Producenci::NazwaProducenta($GetProducent); $NazwaProducenta = $TablicaProducenta['nazwa']; // if ( !empty($NazwaProducenta) ) { // $IdProducentow[] = $GetProducent; $NazwyProducentow[] = $NazwaProducenta; // } // unset($NazwaProducenta, $TablicaProducenta); // } // } if ( count($IdProducentow) > 0 ) { // $WarunkiSzukania .= " AND p.manufacturers_id in (" . implode(',', $IdProducentow) . ")"; // $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_PRODUCENT'] . ' ' . implode(', ', $NazwyProducentow) . '

'; // } } // unset($TablicaGet); // } // kategoria if (isset($_GET['kategoria'])) { // $TablicaGet = Filtry::WyczyscFiltr($_GET['kategoria']); // if ( count($TablicaGet) > 0 ) { // $IdPodkategorii = array(); $NazwyKategorii = array(); // foreach ( $TablicaGet as $GetKategoria ) { // if ( $GetKategoria > 0 ) { // $NazwaKategorii = Kategorie::NazwaKategoriiId($GetKategoria); // if ( !empty($NazwaKategorii) ) { // $IdPodkategorii[] = $GetKategoria; $NazwyKategorii[] = $NazwaKategorii; // // musi znalezc podkategorie dla danej kategorii if (isset($_GET['podkat']) && $_GET['podkat'] == 'tak') { // foreach(Kategorie::DrzewoKategorii((int)$GetKategoria) as $IdKategorii => $Tablica) { // $SzybkiPodzial = explode(',', Kategorie::TablicaPodkategorie($Tablica)); // foreach ( $SzybkiPodzial as $IdK ) { if ( (int)$IdK > 0 ) { $IdPodkategorii[] = $IdK; } } // unset($SzybkiPodzial); // } } // } // unset($NazwaKategorii); // } // } if ( count($IdPodkategorii) > 0 ) { // $WarunkiSzukania .= " AND c.categories_id in (" . implode(',', $IdPodkategorii) . ")"; // $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_KATEGORIA'] . ' ' . implode(', ', $NazwyKategorii) . '

'; // if (isset($_GET['podkat']) && $_GET['podkat'] == 'tak') { $WarunkiDoWyswietlenia .= '

' . $GLOBALS['tlumacz']['WYSZUKIWANIE_W_PODKATEGORIACH'] . ' ' . $GLOBALS['tlumacz']['TAK'] . '

'; } // } // unset($IdPodkategorii, $NazwyKategorii); // } // unset($TablicaGet); // } // $zapytanie = Produkty::SqlSzukajProdukty( $WarunkiSzukania, $Sortowanie, $DodatkowePolaId ); // $sql = $GLOBALS['db']->open_query($zapytanie); if ( (int)$GLOBALS['db']->ile_rekordow($sql) > 0 ) { // // aktualizuje raport wyszukiwane frazy $zapytanieRaport = "SELECT search_id, search_key, freq FROM customers_searches where search_key = '" . $_GET['szukaj'] . "' AND language_id = '" . $_SESSION['domyslnyJezyk']['id'] . "'"; $sqlRaport = $GLOBALS['db']->open_query($zapytanieRaport); if ((int)$GLOBALS['db']->ile_rekordow($sqlRaport) > 0 ) { // $infoRaport = $sqlRaport->fetch_assoc(); $pola = array(array('freq',$infoRaport['freq'] + 1)); // $GLOBALS['db']->update_query('customers_searches' , $pola, " search_id = '" . $infoRaport['search_id'] . "'"); unset($pola); // } else { // $pola = array(array('search_key',$_GET['szukaj']), array('freq','1'), array('language_id',$_SESSION['domyslnyJezyk']['id'])); $db->insert_query('customers_searches', $pola); unset($pola); // } $GLOBALS['db']->close_query($sqlRaport); unset($zapytanieRaport, $infoRaport); // } // // breadcrumb $nawigacja->dodaj($GLOBALS['tlumacz']['NAGLOWEK_WYNIKI_SZUKANIA']); $tpl->dodaj('__BREADCRUMB', $nawigacja->sciezka(' ' . $GLOBALS['tlumacz']['NAWIGACJA_SEPARATOR'] . ' ')); $srodek->dodaj('__ILOSC_WYNIKOW_WYSZUKIWANIA',(int)$GLOBALS['db']->ile_rekordow($sql)); $srodek->dodaj('__INNE_WARUNKI_SZUKANIA',$WarunkiDoWyswietlenia); unset($WarunkiDoWyswietlenia); // // usuwanie zbednych get - jezeli jest na nie to nie sa potrzebne w linku do dalszych stron w wynikach wyszukiwania $niepotrzebneWartosci = array('fraza', 'opis', 'nrkat'); foreach ($_GET as $klucz => $wartosc) { if ( in_array($klucz, $niepotrzebneWartosci ) ) { // if ( $wartosc == 'nie' ) { unset($_GET[$klucz]); } // } } unset($niepotrzebneWartosci); // integracja z CRITEO $criteo = ""; if ( INTEGRACJA_CRITEO_WLACZONY == 'tak' && INTEGRACJA_CRITEO_ID != '' ) { if ( (int)$GLOBALS['db']->ile_rekordow($sql) > 0 ) { $typ = 'd'; $AdresEmail = ''; if ( isset($_SESSION['customer_email']) ) { $AdresEmail = $_SESSION['customer_email']; } $detect = new MobileDetect; if ( $detect->isMobile() ) { $typ = 'm'; } elseif ( $detect->isTablet() ) { $typ = 't'; } else { $typ = 'd'; } $criteo .= "\n"; $criteo .= "\n"; unset($AdresEmail, $typ); } } $tpl->dodaj('__CRITEO', $criteo); include('listing_dol.php'); include('koniec.php'); ?>